package com.syh.jn.scm.service.api.supplier.statistics;

import com.syh.jn.scm.dto.supplier.statistics.purchase.GoodsBrandReportVo;
import com.syh.jn.scm.dto.supplier.statistics.purchase.GoodsCateReportVo;
import com.syh.jn.scm.dto.supplier.statistics.purchase.GoodsPurchaseReportVo;
import com.syh.jn.scm.dto.supplier.statistics.purchase.UpstreamSupplierReportVo;

import java.util.List;
import java.util.Map;

/**
 * 采购报表接口
 */
public interface PurchaseReportService {
  /**
   * 根据商品进行统计采购
   *
   * @param params
   * @return
   */
  List<GoodsPurchaseReportVo> goodsPurchaseReport(Map<String, Object> params);
  /**
   * 根据商品进行统计采购数量
   *
   * @param params
   * @return
   */
  Integer goodsPurchaseReportCount(Map<String, Object> params);
  /**
   * 根据上游供应商统计
   *
   * @param params
   * @return
   */
  List<UpstreamSupplierReportVo> upstreamSupplierReport(Map<String, Object> params);
  /**
   * 根据供应商进行统计总条数
   *
   * @param params
   * @return
   */
  Integer upstreamSupplierReportCount(Map<String, Object> params);
  /**
   * 根据商品分类统计
   *
   * @param params
   * @return
   */
  List<GoodsCateReportVo> goodsCateReport(Map<String, Object> params);
  /**
   * 根据商品分类统计总条数
   *
   * @param params
   * @return
   */
  Integer goodsCateReportReportCount(Map<String, Object> params);
  /**
   * 根据商品品牌统计采购
   *
   * @param params
   * @return
   */
  List<GoodsBrandReportVo> goodsBrandReport(Map<String, Object> params);
  /**
   * 根据商品品牌统计总条数
   *
   * @param params
   * @return
   */
  Integer goodsBrandReportCount(Map<String, Object> params);
}
